Device, system and method for controlling speed of a vehicle using a positional information device

ABSTRACT

A device, system and method for controlling speed of a vehicle are provided. The device includes a locational information module for determining location information and speed; a storage module for storing at least one geographic map including at least one route and a speed limit for the at least one route; a processing module configured to receive the location information, retrieve at least one geographic map based on the location information, determine a speed limit based on the location information and compare the speed of the device to the determined speed limit; and a display module for alerting a user if the speed of the device exceeds the determined speed limit. The system and method can be for communicating a subject vehicle&#39;s speed to a central server where it can be utilized to analyze traffic congestion patterns or notify selected companies or individuals.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/510,063, filed Jul. 12, 2019, now U.S. Pat. No. 10,712,171, issuedJul. 14, 2020, which is a continuation of Ser. No. 15/784,419, filedOct. 16, 2017, now U.S. Pat. No. 10,352,722, issued Jul. 16, 2019, whichis a continuation of U.S. patent application Ser. No. 15/076,178, filedMar. 21, 2016, now U.S. Pat. No. 9,791,294, issued Oct. 17, 2017, whichis a continuation of U.S. patent application Ser. No. 14/618,739, filedFeb. 10, 2015, now U.S. Pat. No. 9,291,475, issued Mar. 22, 2016, whichis a continuation of U.S. patent application Ser. No. 14/057,713, filedOct. 18, 2013, now U.S. Pat. No. 8,972,146, issued Mar. 3, 2015, whichis a continuation of U.S. patent application Ser. No. 13/738,133, filedJan. 10, 2013, now U.S. Pat. No. 8,600,641, issued Dec. 3, 2013, whichis a continuation of U.S. patent application Ser. No. 12/770,225, filedApr. 29, 2010, now U.S. Pat. No. 8,386,145, issued Feb. 26, 2013, whichis a continuation of U.S. patent application Ser. No. 11/233,199, filedSep. 22, 2005, now U.S. Pat. No. 7,783,406, issued Aug. 24, 2010, all ofwhich are hereby incorporated by reference in their entirety.

TECHNICAL FIELD

The present disclosure relates generally to navigational or positionalinformation systems, and more particularly, to devices, systems andmethods for controlling a speed of a vehicle using a positionalinformation device, e.g., a global positioning system (GPS) device.

BACKGROUND

GPS (Global Positioning System) devices are everywhere. These devicesprovide a user with such information as latitude and longitude, accuratetime, heading, velocity, etc. GPS devices are particularly useful inautomobiles and other vehicles. Many individuals have multiple GPSdevices if they own, for instance, two cars that both have the device.Conventionally, most devices will allow a user to store information suchas address points in the internal memory of the device. Some deviceswill allow you to store this information on removable memory, e.g.,memory cards, optical media, etc. In the latter case, this can beparticularly helpful because a list of addresses, for instance, will beuseful to be moved from GPS device (e.g., a first vehicle) to GPS device(e.g., a second vehicle).

Conventionally, a GPS device will inform a user how to get from onepoint to another. Additionally, it provides information on points ofinterest, e.g., hotels, restaurants, historic landmarks, etc. Some GPSunits will also provide information including current speed of travel aswell as average speed of travel.

As a driver moves his vehicle (e.g., boat or car), speed limits changequite rapidly. It is quite common for a driver to be unaware that he wasviolating the speed limit. That claim is made every day as drivers areticketed. Radar detectors, which are quite common, only tell the driverif a law enforcement person is in the area and trying to catch speeders.Either these detectors do not work, or they work too late to avoid lawenforcement problems. They also are difficult to place in a vehicle andmany law enforcement agencies frown on these devices, in fact, radardetectors are illegal in some states. Of course, in all cases, radardetectors do not let the user know the speed that he is traveling. Thus,a need exists for techniques of alerting a driver as to the speed limitof any road traveled, and if they are violating or obeying that speedlimit.

In another related area, a need also exists to inform an outsideselected source as to what speed various vehicles are driving on aparticular roadway or waterway. If, for instance, the speed limit of aroad is 65 miles per hour (e.g., on a highway) and an individual orcomputer detected that several vehicles in the same location weretraveling at 10 miles per hour (during a certain time period) then thatinformation source could report a traffic slowdown on that road. Thisinformation is valuable to local authorities (to alert them to a trafficaccident for instance) and also very valuable to other motorists (orboaters), who could receive this information on their GPS unit orthrough another source such as a traffic radio station.

SUMMARY

A device, system and method for controlling speed of a vehicle areprovided. The present disclosure enables a position information device,e.g., a GPS (global position system) unit, to alert a user if they areviolating a local speeding limit. The present disclosure furtherprovides for a system and method for communicating a subject vehicle'sspeed to a central server where it can be utilized to analyze trafficcongestion patterns or notify selected companies or individuals.

According to one aspect of the present disclosure, a device includes alocational information module for determining location information andspeed of the device; a storage module for storing at least onegeographic map including at least one route and a speed limit for the atleast one route; a processing module configured to receive the locationinformation, retrieve at least one geographic map based on the locationinformation, determine a speed limit based on the location informationand compare the speed of the device to the determined speed limit; and adisplay module for alerting a user if the speed of the device exceedsthe determined speed limit.

In another embodiment of the present disclosure, a method forcontrolling speed of a vehicle includes determining location informationof the vehicle; retrieving at least one geographic map based on thelocation information, the at least one geographic map including at leastone route and a speed limit for the at least one route; determining aspeed of the vehicle; determining a speed limit based on the locationinformation; comparing the speed of the vehicle to the determined speedlimit; and alerting a user if the speed of the vehicle exceeds thedetermined speed limit. The method further includes reducing the speedof the vehicle below the determined speed limit.

In a further embodiment, a system for processing location information isprovided. The system includes at least one device including a locationalinformation module for determining location information and speed of theat least one device; and a transmission module for transmitting thelocation information and speed of the at least one device to a server;the server including a database for storing at least one geographic mapincluding at least one route and a speed limit for the at least oneroute, the server being adapted to access at least one map based on thetransmitted location information and to determine if the speed of the atleast one device is within the speed limit; and a communications networkfor coupling the at least one device to the server.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other aspects, features, and advantages of the presentdisclosure will become more apparent in light of the following detaileddescription when taken in conjunction with the accompanying drawings inwhich:

FIG. 1 is front view of a device for controlling speed of a vehicleaccording to an embodiment of the present disclosure;

FIG. 2 is a block diagram of various modules included in the deviceillustrated in FIG. 1;

FIG. 3 is a flow diagram illustrating a method for controlling speed ofa vehicle according to an embodiment of the present disclosure;

FIGS. 4A and 4B are exemplary screen shots shown on a display module ofthe device shown in FIG. 1;

FIG. 5 is a diagram of an exemplary system for providing information toa plurality of vehicles based on location and speed of the plurality ofvehicles in accordance with an embodiment of the present disclosure; and

FIG. 6 is a flow diagram illustrating a method for providing informationto a plurality of vehicles based on location and speed of the pluralityof vehicles.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

Preferred embodiments of the present disclosure will be describedhereinbelow with reference to the accompanying drawings. In thefollowing description, well-known functions or constructions are notdescribed in detail to avoid obscuring the present disclosure inunnecessary detail.

Referring to FIG. 1, a global positioning system (GPS) device 100 forcontrolling speed of a vehicle containing the device in accordance withan embodiment of the present disclosure is illustrated. Although thedevice shown and described in relation to FIG. 1 is a hand-held device,it is to be understood the principles of the present disclosure may beapplied to any type of navigation or positional information deviceincluding but not limited to a vehicle-mounted device, a GPS receivercoupled to a desktop computer or laptop, etc. Furthermore, the presentdisclosure may apply to various types of vehicles such as an automobile,a boat, a bicycle, etc.

The GPS device 100 includes various electrical components, which will bedescribed in detail below, disposed in a generally rectangular housing102. A display module 104 is provided for displaying a location of auser, a map, coordinates, waypoints, frequently accessed addresses,personal information, etc. As will be described in more detail below,the display module 104 may include a touch screen for facilitating userinput of information. Input module 106 includes a plurality of buttons108 for inputting data and navigating through a plurality of menusand/or maps. The GPS device 100 further includes a storage module 110for storing a plurality of maps, frequently used addresses, traveledroutes, etc. and a transmission module 112 for transmitting stored datato another device, e.g., a personal computer, a personal digitalassistant (PDA), a server residing on the Internet, etc. Optionally, thedevice 100 may include a microphone 114 for acquiring audio from theuser of the device to input data and a speaker 116 for audibly producingdirections, warnings and/or alarms to a user.

Referring to FIG. 2, the various components of the device 100 will nowbe described. The device will contain a computer processing module 120,e.g., a microprocessor. The computer processing module 120 will usecomputer software instructions that have been programmed into the moduleand conventional computer processing power to interact and organize thetraffic flow between the various other modules. It is to be understoodthat the present disclosure may be implemented in various forms ofhardware, software, firmware, special purpose processors, or acombination thereof. A system bus 121 couples the various componentsshown in FIG. 2 and may be any of several types of bus structuresincluding a memory bus or memory controller, a peripheral bus, and alocal bus using any of a variety of bus architectures. The device alsoincludes an operating system and micro instruction code preferablyresiding in read only memory (ROM). The various processes and functionsdescribed herein may either be part of the micro instruction code orpart of an application program (or a combination thereof) which isexecuted via the operating system.

It is to be further understood that because some of the constituentdevice components and method steps depicted in the accompanying figuresmay be implemented in software, the actual connections between thedevice components (or the process steps) may differ depending upon themanner in which the present disclosure is programmed. Given theteachings of the present disclosure provided herein, one of ordinaryskill in the related art will be able to contemplate these and similarimplementations or configurations of the present disclosure.

A locational information module 122 will be provided for determining alocation of the device 100 and/or user. The locational informationmodule 122 may include a receiver and antenna ANT employing conventionallocational information processing technology such as Global PositioningSatellite (GPS) Technology, Loran Technology, or any other availablelocational technology, to indicate the exact location, e.g., latitude,longitude and altitude, of the device 100. Exemplary GPS receivers andantennas are described in U.S. Pat. Nos. 5,654,718 and 6,775,612, thecontents of both of which are herein incorporated by reference. It is tobe appreciated that the latitude, longitude and altitude may be used tointeract with maps stored in memory or in the storage module 110 ofdevice 100 to determine the city, state or address of the location thedevice 100. Furthermore, the locational information module 122 maycalculate routes traveled, velocity or speed of a vehicle including thedevice 100, etc., or alternatively, may send the position coordinates tothe processing module 120 at a predetermined sampling period where theprocessing module will perform the calculations.

Furthermore, the device 100 will include a date and time module 124. Thedate and time module 124 will use standard computer chip processingtechnology widely in use, or alternatively, input from locationalinformation module 122, e.g., a GPS receiver, to supply the date andtime. The date and time may be associated or correlated with routestraveled, a particular location and speeds and may be employed todetermine velocity or speed of the user of the device 100 whether in avehicle, on a bicycle or while walking.

The device 100 will also contain a display module 104 for displaying alocation of a user, a map, coordinates, waypoints, frequently accessedaddresses, etc. This display may be in any current form in the art,including Liquid Crystal Displays (LCD), Light emitting diode displays(LED), Cathode Ray Tube Displays (CRT) or any other type of displaycurrently existing or existing in the future. The display module 104 mayalso include an audio output device 116, e.g., a speaker, headphonejack, etc., allowing the user to also hear audio output from the device100, e.g., audibly producing directions to a desired location orpredetermined address.

The device 100 of the present disclosure will contain a user inputmodule 126 to either receive user instructions via text input by the wayof buttons 108, a standard keyboard interface coupled to the device, ora character recognition capture device which translates user text inputinto alphanumeric characters. Preferably, the character recognitiondevice is a touch screen which overlays the display module 104 and textis entered via a pen-like stylus. Such input devices are standard andcurrently available on many electronic devices including portabledigital assistants (PDAs) and cellular telephones. Optionally, amicrophone 114 may be further coupled to the input module 126 forcapturing any audio information spoken by the user and the input modulewill further include an analog-to-digital (A/D) converter for convertingthe spoken audio information into a digital format. Furthermore, theinput module may include a voice recognition processor that translatesthe digital human voice into alpha numeric characters for user input.The user will utilize the user input module 126 to enter various data,for example, a plurality of destination addresses, waypoints, etc.

The storage module 110 includes internal storage memory, e.g., randomaccess memory (RAM), or removable memory such as magnetic storagememory; optical storage memory, e.g., the various known types of CD andDVD media; solid-state storage memory, e.g., a CompactFlash card, aMemory Stick, SmartMedia card, MultiMediaCard (MMC), SD (Secure Digital)memory; or any other memory storage that exists currently or will existin the future. The storage module 110 will store various types ofinformation such as the inputted destination addresses, routes traveledby the user, the user's home address, etc. The storage module 110 willfurther store a plurality of geographical maps. In operation, theprocessing module 120 will process information received from overheadsatellites and calculate the geographic location that the device 100 iscurrently at. The processing module 120 then plots that location on agraphic representation of a map stored in the storage module 110, e.g.,internal or external memory. This map is then displayed on the displaymodule 104 of the device 100. The map optionally will include points ofinterest also plotted on the map. By example, hospitals, police offices,gas stations, ATMs, hotels, restaurants, etc. can also be displayed.These point of interest locations are placed on the map in their properlocations by the publisher of the map when the map is published, oralternatively, these locations are stored in an internal addressdatabase and then dynamically placed on the graphical representation mapby the processing module 120 as the map displays on the display module104.

Maps may be provided for different areas via multiple removable memorycards, e.g., a memory card for each state in the United States.Alternatively, different maps may be received wirelessly via thetransmission module 112 and loaded into memory or the storage module 110as needed. The processing module 120 will determine based on theinformation received from the locational information module 122 that amap corresponding to the devices current position is not available andthe processing module 120 will request an appropriate map from a serviceprovider available on a communication network accessed via thetransmission module 112.

The transmission module 112 will enable the device 100 to transmit ortransfer information, e.g., current location of a vehicle, speed of avehicle, time and date of the recorded location and/or speed, etc., toother computing devices and to receive information from other computingdevices, e.g., maps, software updates, etc. The transmission module 112will perform its functionality by hardwired and/or wirelessconnectivity. The hardwire connection may include but is not limited tohard wire cabling e.g., parallel or serial cables, USB cable, Firewire(1394 connectivity) cables, and the appropriate port. The wirelessconnection will operate under any of the various known wirelessprotocols including but not limited to Bluetooth™ interconnectivity,infrared connectivity, radio transmission connectivity includingcomputer digital signal broadcasting and reception commonly referred toas Wi-Fi or 802.11.X (where x denotes the type of transmission), or anyother type of communication protocols or systems currently existing orto be developed for wirelessly transmitting data. The transmissionmodule will compress and encode the encrypted information fortransmission using any known wireless communication technology.

The device 100 will also include an encryption module 128. Theencryption module 128 will use conventional code encryption algorithmscurrently in use or that will be in use in the future such assymmetric-key algorithms, e.g., DES, Triple-DES, Blowfish, RC2, RC4,RC5, etc., and asymmetric-key algorithms, e.g., Diffie-Hellman, RSA,ElGamal, etc. to encrypt the data information that comes into the userinput module 126 and/or that is stored in the storage module 110. In oneembodiment of the present disclosure, the encryption module 128 willalways encrypt the data information, but in other embodiments, the userwill select whether to encrypt the data or to leave the dataunencrypted.

Upon initialization of device 100, processing module 120 prompts theuser via display module 104 or speaker 116 to select a code string thatthe user wishes to use. The user selects an appropriate code string andenters the code string into the device 100 with input module 126 viabuttons 108, microphone 114 or touch screen. The input module 126 sendsthe code string to the processing module which in turn sends this stringto encryption module 128. The encryption module 128 then uses this codestring to encrypt (using standard encryption algorithms identifiedabove) all addresses and route points (or just the addresses and routepoints that the user designates) and store this information in thestorage module 110. When the GPS device 100 is inactive, all informationin the storage module 110 is encrypted. When the GPS device 100 isactive, the information in the storage module 110 is sent to theencryption module 128 which after receiving the user's code stringdecrypts the information, and then sends the information to theprocessing module where it can then be presented to the user on thedisplay module 104.

In another embodiment of the present disclosure, the GPS device 100 willinclude a hardware interlock 118 to prevent the removal of the storagemodule 110. The interlock 118 may be a detent configured to engage amemory card being employed, a mechanical door which prevents access tothe storage module 110, or a mechanism which physical rejects thestorage module 110. In this embodiment, the user would submit the codestring to the encryption module 128 via the input module 126 which wouldthen accept the code string and instruct the processing module 120 tounlock the hardware interlock 118 and allow user removal of the storagemodule 110. If the code string is not accepted, the storage module 110will not be able to be removed.

In another embodiment, the device 100 will further include a userverification module (UVM) 130. The user verification module 130 willindicate and verify the identity of the user of the device 100. The userverification module 130 may execute a password protection algorithm ormay include an identity capture device, either incorporated into thedevice 100 or coupled externally via a cable. The identity capturedevice may be a biometric device, such as a retinal scanning device,finger print reader, facial recognition reader or another type of useridentity verification input device which will collect information on theuser to be compared to information that has previously been stored inthe device's memory. One such exemplary fingerprint reader is theBioTouch™ fingerprint reader commercially available from IdentixIncorporated of Minnetonka, Minn. It is to be noted that identitydetection devices such as biometric devices are common and are currentlywidely in use. It is to be further noted, that identity verificationdevices that are not yet in use such as DNA detection, etc., would alsobe compatible with device 100. In this embodiment, the identity of theuser may be required in addition to the entering of a code string todecrypt information on the storage module 110. In a further embodiment,the identity of a particular user may be linked to their code stringand, upon verification of the identity of a user, the linked code stringwill be submitted to the encryption module 128. In another embodiment,the identity of the user may be required to unlock the interlock 118.

In one embodiment of the present disclosure, the geographic mapsemployed by the device 100 will include speed limit information for thearea represented by the map. A publisher of the geographic maps wouldnow add to any map the speed limit of a particular location. Thepublisher would, for any road, need to plot all speed limits bygeographical location. This information is widely available to thepublisher from the local, state or federal agencies that maintain theroads or through surveyors who can collect information on the roadwaysor waterways. Once plotted, this information would be stored along andattached to the geographic representation (e.g., map) for thatparticular road. Alternatively, as with points of interest discussedabove, the speed limits may be stored in a database with a particularaddress (e.g., longitude and latitude) assigned. The geographic mapsincluding speed limit information may now be used to control the speedof a vehicle as will be described below with reference to FIGS. 3, 4Aand 4B.

When the device 100 is powered on and functioning, the device willobtain the locational information (from the overhead satellites) toallow the processing module 120 to determine the device's specificlocation (step 302). As described above, this will cause a correspondingmap to appear on the display module 104, wherein the processing module120 will retrieve from storage module 110 a geographic map based on thedetermined location (step 304). FIG. 4A is an exemplary screen shot 402of a map 404 being displayed on the display module 104. The user'scurrent position is represented by the arrow on a particular roadway heis traveling on; here, for example, the user is traveling south on I-95.A portion 406 of the display module 104 may indicate to the userdirections to an inputted destination.

Next, the processing module 120 will determine a speed of the vehicle(step 306). The speed of the vehicle can be determined in many ways asis known in the art, for example, measuring the time elapsed anddistance between two specific points. Once the speed is determined, theuser's speed will be displayed on a portion 408 of the display module104 (step 308). It is to be appreciated the display module may besegregated into a plurality of sections or portions for displayingdifferent types of information.

The processing module 120 will then determine the speed limit for theparticular route traveled (step 310). The processing module will lookfor the location that the vehicle is at and look for the last speedlimit indication plotted on the map closest to that location, andindicate to the user the speed limit of the current road (or waterway)that the driver (or boater) is on and post that limit on portion 410 ofthe display module 104 (step 312).

Optionally, the processing module 120 of the device 100 will alsocompare the determined speed limit to the current rate of speed of thevehicle, and will generate an alert if the user is moving the vehicle inexcess of the posted limit. The processing module 120 will determine ifthe current speed of the vehicle is greater than the current speed limit(step 314). If the vehicle's current speed is not greater than thecurrent speed limit, the device will continuously update the vehicle'slocation, the speed limit of the location and determine whether thevehicle is exceeding the speed limit (steps 302 through 314). Otherwise,if the current speed of the vehicle is greater than the current speedlimit, the device will alert the user that they are exceeding thecurrent speed limit (step 316). The alert may be visual, e.g., a textmessage on the display module, or audible, e.g., a tone or beep. In oneembodiment, the portion 408 displaying the user's current speed may beoverlaid on the map 404 as shown in FIG. 4B. The overlaid portion may beflashing or in a different color than in a normal condition. In anotherembodiment, the alert may be spoken to the user via an optionaltext-to-speech module (not shown).

In another embodiment, if the vehicle is exceeding the current speedlimit, the device 100 will control the vehicle's speed to maintain thecurrent speed limit (step 318). In this embodiment, the device willinclude a speed control module 132 which will interface with an onboardprocessor of the vehicle and will transmit a control signal to lower thevehicle's speed. Onboard processors for controlling speed of a vehicleare known in the art such as a cruise control mechanism.

In a further embodiment, the processing module 120 will be instructedvia a computer algorithm to assume that the speed limit is the lastspeed limit that was posted in the location that the vehicle has nowgone past, but will also have error trapping built-in to the algorithmto warn the user on the display module if the next speed indication doesnot appear within a reasonable period of time or distance. The user mayinput to the device a predetermined period of time or distance that, ifelapsed, the processing module 120 will generate a warning or alert tothe user that the speed limit has not changed. This will allow the userto be aware that the previously posted speed limit may no longer beaccurate.

In yet another embodiment, the processing module 120 will correlate atime and date to a particular location and the user's speed at thatlocation and will store this information in the storage module 110.Optionally, this information may be encrypted before being stored in thestorage module 110. This information may then be extracted at a latertime for analysis.

In another embodiment of the present disclosure, a system and method forcommunicating a subject vehicle's speed to a central server where it canbe utilized to analyze traffic congestion patterns or notify selectedcompanies or individuals will be described in relation to FIGS. 5 and 6.Referring to FIG. 5, the GPS device 100 will communicate to a centralserver 504 via a communication network 502. The device 100 will coupleto the communications network 502 via the transmission module 112 whichenable data transmission. The transmission module 112 may connect to thecommunications network 502 by any known communication means includesWiFi connectivity via a WiFi tower (e.g., of various types including802.11a/b/g), infrared connectivity, satellite communications, radiofrequency, a mobile terminal communications tower, e.g., cellular, PCS,etc.

The server 504 may be connected to the communications network 502, e.g.,the Internet, by any known means, for example, a hardwired or wirelessconnection 508, such as dial-up, hardwired, cable, DSL, satellite,cellular, PCS, wireless transmission (e.g., 802.11a/b/g), etc. It is tobe appreciated that the network 502 may be a local area network (LAN),wide area network (WAN), the Internet or any known network that couplesa plurality of computers to enable various modes of communication vianetwork messages. Furthermore, the server 504 will communicate using thevarious known protocols such as Transmission Control Protocol/InternetProtocol (TCP/IP), File Transfer Protocol (FTP), Hypertext TransferProtocol (HTTP), etc. and secure protocols such as Internet ProtocolSecurity Protocol (IPSec), Point-to-Point Tunneling Protocol (PPTP),Secure Sockets Layer (SSL) Protocol, etc.

In this embodiment, once the processing module 120 has determined thespeed that the subject vehicle is traveling at, the location of thatvehicle and the time and date of the speed reading, this informationwill be sent (with the users election) by the transmission module 112 tothe remote computer server 504. This server will receive thisinformation from the device 100 and plot this information in a database506. The database 506 will contain information on many vehicles that arereporting this information. The database 506 will also containlocational information with speed limits for those locations, such asthe geographic maps discussed above. The database will then use standardcomputer processing algorithms to determine for any given time of day,and/or for any given route selected, what speed vehicles are moving uponaverage for that roadway (e.g., street, highway, etc.). For example, if40 cars report that for I-95 in Florida heading south from SheridanStreet in Pembroke Pines up through Ives Diary road the average speedfor the trip was 30 miles per hour, this information could then beredistributed to any interested parties. The remote server will selectthe specific information that would be required for various calculationsincluding but not limited to average speed of travel for a particulardistance of road, average for a certain reporting number of vehicles,what estimated percentage of vehicles are obeying or violating postedspeed limits, average speed of travel for a certain time of day, or anycombination of these and other requested variables. Further, the remoteserver 504 can set up notification alarms plotted against the postedspeed limit of a selected location so that if cars are traveling underor over the posted speed limits the server 504 can alert any requestedparty.

An illustrative example of the system and method will be described inrelation to FIG. 6. Initially, in step 602, the server 504 will receivespeed and location information from a plurality of vehicles. The server504 will retrieve from memory, e.g., database 506, a speed limit for thelocation of the reporting vehicles (step 604). Next, the server 504 willdetermine an average speed of the reporting vehicles for the location(step 606), e.g., between two points on a map, and compare the averagespeed to the retrieved speed limit (step 608). In one embodiment, theserver 504 will determine if the average speed is less than the speedlimit minus a predetermined offset (step 610). For example, a programmerof the server may choose an offset of 20 mph in a zone where the speedlimit is 60 mph. If the average speed is less than the speed limit minusthe offset (here, for example, if the average speed in the 60 mph zonewas only 30 mph), this may be indicative of traffic congestion. Theserver 504 may then transmit an alert to the vehicles that congestion isahead (step 612). The alert may be transmitted directly to the device100 and displayed on display module 104. Alternatively, the alert may bebroadcasted over a radio channel previously selected for travelinformation or may be sent to a local news station which will in turnbroadcast the information over a radio station. Otherwise, if theaverage speed is not less that the limit minus the offset, the server504 will continuously monitor the vehicles (step 602 through 610).

Optionally, if there is traffic congestion, the server 504 willdetermine an alternate route from the information collected and transmitthis alternate route information to the device 100 to be displayed onthe display module 104 (step 614).

The server 504 may use any of the available information to determinetraffic patterns. For example, the server 504 may determine trafficdensity for a particular location or stretch of road, e.g., how manyvehicles passed a particular point over a period of time, typicallyexpressed in number of vehicles per hour. The server 504 may then usethe traffic density with the average speed to make furtherdeterminations. For example, if the average speed for a location is lessthan the speed limit minus a predetermined offset and only four vehicleshave passed that location in the past hour, e.g., the density is below apredetermined density, the server will determine or estimate that badweather is in the area and will generate a weather alert. Furthermore,if the server 504 determines that a large number of vehicles have notmoved in a predetermined period of time, e.g., the average speed is zeromph, the server 504 will determine that an accident occurred and willgenerate an alert.

In a further embodiment of the system of the present disclosure, a userof the device may enable a reporting signal to be sent to the server 504via transmission module 112. This will allow the device 100 to report tothe server 504 certain information including a location of GPS device100, time of location, speed of vehicle at a specific time, violationnotice of any posted speed limit, and any other information that thedevice 100 may have or be able to calculate internally to report theserver. This information could then be seen instantly by a recipient ona terminal 510 coupled to the communications network 502 or stored andlater viewed by the recipient by accessing the information at the server504 via a conventional Internet browser, e.g., Microsoft™ InternetExplorer. This would apply to an employer who, for instance, wants to bealerted if his employee is speeding in the company car. Moreover, aparent who wants to know if their child is obeying (or breaking) thespeed limits. Optionally, the recipient may receive notifications orwarnings of violations through the communications network instantly viaan e-mail message, an instant message, a recorded phone call, etc.Furthermore, this information may be encrypted and stored locally in thestorage module to be later retrieved by the recipient for analysis.

While the disclosure has been shown and described with reference tocertain preferred embodiments thereof, it will be understood by thoseskilled in the art that various changes in form and detail may be madetherein without departing from the spirit and scope of the disclosure asdefined by the appended claims.

1-20. (canceled)
 21. A method for execution by a computing systemcomprising one or more processors, the method comprising: determining,by the computing system, based on location information and speedinformation for a plurality of devices, that an average speed of one ormore of the plurality of devices within a region is below a thresholdspeed associated with the region; and transmitting, from the computingsystem to a device in a vehicle, information related to congestion inthe region.
 22. The method of claim 21, further comprising receiving, bythe computing system via a network, the location information and speedinformation about the plurality of devices, wherein each device of theplurality of devices is configured to determine location information andspeed information corresponding to the device.
 23. The method of claim21, wherein the information related to congestion in the region causesthe device in the vehicle to present an alert regarding congestion inthe region.
 24. The method of claim 21, wherein the information relatedto congestion in the region causes the device in the vehicle to presenta route that avoids the congestion in the region.
 25. The method ofclaim 21, wherein determining that an average speed of one or more ofthe plurality of devices within the region is below a threshold speedassociated with the region includes determining the threshold speedbased on a speed limit associated with the region.
 26. The method ofclaim 25, wherein determining the threshold speed based on the speedlimit associated with the region includes determining the thresholdspeed based on the speed limit associated with the region and apredetermined offset amount below the speed limit.
 27. The method ofclaim 21, wherein the region is a portion of a road.
 28. A computingsystem comprising: at least one processor; and a non-transitorycomputer-readable medium having computer-executable instructions storedthereon that, in response to execution by the at least one processor,causes the system to perform actions comprising: determining, by thecomputing system, based on location information and speed informationfor a plurality of devices, that an average speed of one or more of theplurality of devices within a region is below a threshold speedassociated with the region; and transmitting, from the computing systemto a device in a vehicle, information related to congestion in theregion.
 29. The computing system of claim 28, wherein the actionsfurther comprise receiving, by the computing system via a network, thelocation information and speed information about the plurality ofdevices, wherein each device of the plurality of devices is configuredto determine location information and speed information corresponding tothe device.
 30. The computing system of claim 28, wherein theinformation related to congestion in the region causes the device in thevehicle to present an alert regarding congestion in the region.
 31. Thecomputing system of claim 28, wherein the information related tocongestion in the region causes the device in the vehicle to present aroute that avoids the congestion in the region.
 32. The computing systemof claim 28, wherein determining that an average speed of one or more ofthe plurality of devices within the region is below a threshold speedassociated with the region includes determining the threshold speedbased on a speed limit associated with the region.
 33. The computingsystem of claim 32, wherein determining the threshold speed based on thespeed limit associated with the region includes determining thethreshold speed based on the speed limit associated with the region anda predetermined offset amount below the speed limit.
 34. The computingsystem of claim 28, wherein the region is a portion of a road.
 35. Anon-transitory computer-readable medium having instructions storedthereon that, in response to execution by one or more processors of acomputing system, cause the computing system to perform actionscomprising: determining, by the computing system, based on locationinformation and speed information for a plurality of devices, that anaverage speed of one or more of the plurality of devices within a regionis below a threshold speed associated with the region; and transmitting,from the computing system to a device in a vehicle, information relatedto congestion in the region.
 36. The computer-readable medium of claim35, wherein the actions further comprise receiving, by the computingsystem via a network, the location information and speed informationabout the plurality of devices, wherein each device of the plurality ofdevices is configured to determine location information and speedinformation corresponding to the device.
 37. The computer-readablemedium of claim 35, wherein the information related to congestion in theregion causes the device in the vehicle to present an alert regardingcongestion in the region.
 38. The computer-readable medium of claim 35,wherein the information related to congestion in the region causes thedevice in the vehicle to present a route that avoids the congestion inthe region.
 39. The computer-readable medium of claim 35, whereindetermining that an average speed of one or more of the plurality ofdevices within the region is below a threshold speed associated with theregion includes determining the threshold speed based on a speed limitassociated with the region.
 40. The computer-readable medium of claim39, wherein determining the threshold speed based on the speed limitassociated with the region includes determining the threshold speedbased on the speed limit associated with the region and a predeterminedoffset amount below the speed limit.